package de.connecttext.deprecated;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;


/**
 * Sehr simple Klasse, die Inhalte von Dateien einliest und Strings zurückgibt
 * @author conrad
 *
 */
public class FileReader {

	/**
	 * Liest den Inhalt der übergebenen Datei ein
	 * 
	 * @return Der ganze Inhalt als String
	 * @throws SearchEngineException
	 */
	public String readFile(File file) throws Exception {

		String toReturn = null;
		FileInputStream inputStream = null;

		try {

			inputStream = new FileInputStream(file);
			InputStreamReader inputStreamReader;

			try {
				inputStreamReader = new InputStreamReader(inputStream, "UTF-8");
				BufferedReader bufferedReader = new BufferedReader(
						inputStreamReader);
				StringBuffer textBuffer = new StringBuffer();
				String currentLine;

				try {
					while ((currentLine = bufferedReader.readLine()) != null) {
						textBuffer.append(currentLine);
						textBuffer.append("\n");
					}
				} catch (IOException e) {
					e.printStackTrace();
				}
				toReturn = textBuffer.toString();
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			} finally {
				try {
					inputStream.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}

		} catch (FileNotFoundException e) {
			throw new Exception(
					"Fehler: Versucht Datei einzulesen, aber Datei nicht vorhanden");
		}

		return toReturn;
	}
}
